bin_PROGRAMS =

AM_CXXFLAGS = $(GXX_CFLAGS)
LDADD = @X11_LIBS@ @GLFW3_LIBS@ @GLEW_LIBS@ @ASSIMP_LIBS@ -lm -lSOIL

bin_PROGRAMS += texture2d
texture2d_SOURCES = texture2d.cpp
texture2d_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += geometry_point
geometry_point_SOURCES = geometry_point.cpp
geometry_point_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += geometry_triangle
geometry_triangle_SOURCES = geometry_triangle.cpp
geometry_triangle_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += dual_vao
dual_vao_SOURCES = dual_vao.cpp
dual_vao_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += phong_model
phong_model_SOURCES = phong_model.cpp
phong_model_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += uniform
uniform_SOURCES = uniform.cpp
uniform_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += renderbuffer
renderbuffer_SOURCES = renderbuffer.cpp
renderbuffer_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mrt
mrt_SOURCES = mrt.cpp
mrt_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += query
query_SOURCES = query.cpp
query_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += rendertexture
rendertexture_SOURCES = rendertexture.cpp
rendertexture_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += attrib
attrib_SOURCES = attrib.cpp
attrib_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += instance
instance_SOURCES = instance.cpp
instance_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += perspective_correct
perspective_correct_SOURCES = perspective_correct.cpp
perspective_correct_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += xfb
xfb_SOURCES = xfb.cpp
xfb_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += separate_shader_obj
separate_shader_obj_SOURCES = separate_shader_obj.cpp
separate_shader_obj_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += stencil
stencil_SOURCES = stencil.cpp
stencil_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += indirect
indirect_SOURCES = indirect.cpp
indirect_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += skybox
skybox_SOURCES = skybox.cpp
skybox_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += perspective_tune
perspective_tune_SOURCES = perspective_tune.cpp
perspective_tune_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += environment
environment_SOURCES = environment.cpp
environment_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += point_light
point_light_SOURCES = point_light.cpp
point_light_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += spot_light
spot_light_SOURCES = spot_light.cpp
spot_light_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += model
model_SOURCES = model.cpp
model_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += model2
model2_SOURCES = model2.cpp
model2_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += model3
model3_SOURCES = model3.cpp
model3_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += funky
funky_SOURCES = funky.cpp
funky_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += fragc
fragc_SOURCES = fragc.cpp
fragc_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += compute_image_load_store
compute_image_load_store_SOURCES = compute_image_load_store.cpp
compute_image_load_store_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += ssbo
ssbo_SOURCES = ssbo.cpp
ssbo_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += texture_init
texture_init_SOURCES = texture_init.cpp
texture_init_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cs_rwbarrier
cs_rwbarrier_SOURCES = cs_rwbarrier.cpp
cs_rwbarrier_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += compute_large_image
compute_large_image_SOURCES = compute_large_image.cpp
compute_large_image_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += named_uniform_block
named_uniform_block_SOURCES = named_uniform_block.cpp
named_uniform_block_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += copying
copying_SOURCES = copying.cpp
copying_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += atomic_count
atomic_count_SOURCES = atomic_count.cpp
atomic_count_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap
mipmap_SOURCES = mipmap.cpp
mipmap_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_preamble
mipmap_drawcall_preamble_SOURCES = mipmap_drawcall_preamble.cpp
mipmap_drawcall_preamble_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_midamble
mipmap_drawcall_midamble_SOURCES = mipmap_drawcall_midamble.cpp
mipmap_drawcall_midamble_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_preamble_opt
mipmap_drawcall_preamble_opt_SOURCES = mipmap_drawcall_preamble_opt.cpp
mipmap_drawcall_preamble_opt_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_midamble_opt
mipmap_drawcall_midamble_opt_SOURCES = mipmap_drawcall_midamble_opt.cpp
mipmap_drawcall_midamble_opt_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_preamble_r32f
mipmap_drawcall_preamble_r32f_SOURCES = mipmap_drawcall_preamble_r32f.cpp
mipmap_drawcall_preamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_drawcall_midamble_r32f
mipmap_drawcall_midamble_r32f_SOURCES = mipmap_drawcall_midamble_r32f.cpp
mipmap_drawcall_midamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_drawcall_midamble_r32f
mipmapchain_drawcall_midamble_r32f_SOURCES = mipmapchain_drawcall_midamble_r32f.cpp
mipmapchain_drawcall_midamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_drawcall_preamble_r32f
mipmapchain_drawcall_preamble_r32f_SOURCES = mipmapchain_drawcall_preamble_r32f.cpp
mipmapchain_drawcall_preamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmap_compute_preamble_r32f
mipmap_compute_preamble_r32f_SOURCES = mipmap_compute_preamble_r32f.cpp
mipmap_compute_preamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_compute_preamble_r32f
mipmapchain_compute_preamble_r32f_SOURCES = mipmapchain_compute_preamble_r32f.cpp
mipmapchain_compute_preamble_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_compute_preamble_gather_r32f
mipmapchain_compute_preamble_gather_r32f_SOURCES = mipmapchain_compute_preamble_gather_r32f.cpp
mipmapchain_compute_preamble_gather_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_drawcall_midamble_gather_r32f
mipmapchain_drawcall_midamble_gather_r32f_SOURCES = mipmapchain_drawcall_midamble_gather_r32f.cpp
mipmapchain_drawcall_midamble_gather_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mipmapchain_drawcall_preamble_gather_r32f
mipmapchain_drawcall_preamble_gather_r32f_SOURCES = mipmapchain_drawcall_preamble_gather_r32f.cpp
mipmapchain_drawcall_preamble_gather_r32f_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += pixel_karate
pixel_karate_SOURCES = pixel_karate.cpp
pixel_karate_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += multisample_blit_renderbuffer
multisample_blit_renderbuffer_SOURCES = multisample_blit_renderbuffer.cpp
multisample_blit_renderbuffer_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += multisample_texture_fetch
multisample_texture_fetch_SOURCES = multisample_texture_fetch.cpp
multisample_texture_fetch_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += multisample_draw_then_compute
multisample_draw_then_compute_SOURCES = multisample_draw_then_compute.cpp
multisample_draw_then_compute_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += dfdx_dfdy
dfdx_dfdy_SOURCES = dfdx_dfdy.cpp
dfdx_dfdy_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += lod
lod_SOURCES = lod.cpp
lod_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += manual_lod
manual_lod_SOURCES = manual_lod.cpp
manual_lod_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += mesh_ripple
mesh_ripple_SOURCES = mesh_ripple.cpp
mesh_ripple_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += subdivide_plane
subdivide_plane_SOURCES = subdivide_plane.cpp
subdivide_plane_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cpu_gasket2d
cpu_gasket2d_SOURCES = cpu_gasket2d.cpp
cpu_gasket2d_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += gpu_gasket2d
gpu_gasket2d_SOURCES = gpu_gasket2d.cpp
gpu_gasket2d_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cpu_wf_sphere
cpu_wf_sphere_SOURCES = cpu_wf_sphere.cpp
cpu_wf_sphere_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += gpu_wf_sphere
gpu_wf_sphere_SOURCES = gpu_wf_sphere.cpp
gpu_wf_sphere_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cpu_recursive_gasket2d
cpu_recursive_gasket2d_SOURCES = cpu_recursive_gasket2d.cpp
cpu_recursive_gasket2d_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cpu_recursive_gasket3d
cpu_recursive_gasket3d_SOURCES = cpu_recursive_gasket3d.cpp
cpu_recursive_gasket3d_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += edge_detect
edge_detect_SOURCES = edge_detect.cpp
edge_detect_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += gaussian_blur
gaussian_blur_SOURCES = gaussian_blur.cpp
gaussian_blur_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += bloom
bloom_SOURCES = bloom.cpp
bloom_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += cartoonify
cartoonify_SOURCES = cartoonify.cpp
cartoonify_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += alpha_map
alpha_map_SOURCES = alpha_map.cpp
alpha_map_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += blinn_phong_model
blinn_phong_model_SOURCES = blinn_phong_model.cpp
blinn_phong_model_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += rim_light_model
rim_light_model_SOURCES = rim_light_model.cpp
rim_light_model_CXXFLAGS = $(AM_CXXFLAGS)

bin_PROGRAMS += basic_layered_rendering
basic_layered_rendering_SOURCES = basic_layered_rendering.cpp
basic_layered_rendering_CXXFLAGS = $(AM_CXXFLAGS)
